package pers.cj.pdos.entity;

import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 退货单会将商品的状态置为待入库，需要仓库管理员进行入库操作
 * </p>
 *
 * @author chenj
 * @since 2020-04-10
 */
public class Refund extends Model<Refund> {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 仓库id
     */
    private String houseId;

    /**
     * 客户id
     */
    private String customId;

    /**
     * 单据编号
     */
    private String no;

    /**
     * 1直接入库 2入库单入库
     */
    private Integer status;

    /**
     * 是否关闭订单
     */
    private Boolean close;

    /**
     * 关联销售单号
     */
    private String saleId;

    /**
     * 销售类型1批发 2零售
     */
    private Integer type;

    /**
     * 经办人
     */
    private String userId;

    /**
     * 业务日期
     */
    private Date date;

    /**
     * 其他费用
     */
    private BigDecimal otherAmt;

    /**
     * 总金额
     */
    private BigDecimal totalAmt;

    /**
     * 实退金额
     */
    private BigDecimal realAmt;

    /**
     * 原总金额不包括其他金额和税额
     */
    private BigDecimal oldTotalAmt;

    /**
     * 税额
     */
    private BigDecimal tax;

    /**
     * 结算账户
     */
    private String settAccountId;

    /**
     * 制单人
     */
    private String makeUserId;

    /**
     * 制单时间
     */
    private Date makeTime;

    /**
     * 附件图片
     */
    private String image;

    /**
     * 备注
     */
    private String remark;

    private Date time;

    private String companyId;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getHouseId() {
        return houseId;
    }

    public void setHouseId(String houseId) {
        this.houseId = houseId;
    }
    public String getCustomId() {
        return customId;
    }

    public void setCustomId(String customId) {
        this.customId = customId;
    }
    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Boolean getClose() {
        return close;
    }

    public void setClose(Boolean close) {
        this.close = close;
    }
    public String getSaleId() {
        return saleId;
    }

    public void setSaleId(String saleId) {
        this.saleId = saleId;
    }
    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }
    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }
    public BigDecimal getOtherAmt() {
        return otherAmt;
    }

    public void setOtherAmt(BigDecimal otherAmt) {
        this.otherAmt = otherAmt;
    }
    public BigDecimal getTotalAmt() {
        return totalAmt;
    }

    public void setTotalAmt(BigDecimal totalAmt) {
        this.totalAmt = totalAmt;
    }
    public BigDecimal getRealAmt() {
        return realAmt;
    }

    public void setRealAmt(BigDecimal realAmt) {
        this.realAmt = realAmt;
    }
    public BigDecimal getOldTotalAmt() {
        return oldTotalAmt;
    }

    public void setOldTotalAmt(BigDecimal oldTotalAmt) {
        this.oldTotalAmt = oldTotalAmt;
    }
    public BigDecimal getTax() {
        return tax;
    }

    public void setTax(BigDecimal tax) {
        this.tax = tax;
    }
    public String getSettAccountId() {
        return settAccountId;
    }

    public void setSettAccountId(String settAccountId) {
        this.settAccountId = settAccountId;
    }
    public String getMakeUserId() {
        return makeUserId;
    }

    public void setMakeUserId(String makeUserId) {
        this.makeUserId = makeUserId;
    }
    public Date getMakeTime() {
        return makeTime;
    }

    public void setMakeTime(Date makeTime) {
        this.makeTime = makeTime;
    }
    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }
    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Refund{" +
            "id=" + id +
            ", houseId=" + houseId +
            ", customId=" + customId +
            ", no=" + no +
            ", status=" + status +
            ", close=" + close +
            ", saleId=" + saleId +
            ", type=" + type +
            ", userId=" + userId +
            ", date=" + date +
            ", otherAmt=" + otherAmt +
            ", totalAmt=" + totalAmt +
            ", realAmt=" + realAmt +
            ", oldTotalAmt=" + oldTotalAmt +
            ", tax=" + tax +
            ", settAccountId=" + settAccountId +
            ", makeUserId=" + makeUserId +
            ", makeTime=" + makeTime +
            ", image=" + image +
            ", remark=" + remark +
            ", time=" + time +
            ", companyId=" + companyId +
        "}";
    }
}
